/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package gov.decea.projects.sgq.dao;

import gov.decea.projects.sgq.exception.DAOException;
import gov.decea.projects.sgq.model.MetarGroupData;
import gov.decea.projects.sgq.model.MeteorologicalReportGroupData;
import gov.decea.projects.sgq.model.TafGroupData;
import java.util.Date;
import java.util.List;

/**
 *
 * @author fernandofot
 */
public interface MeteorologicalReportGroupDataDAO {

    public Long create(MeteorologicalReportGroupData groupData) throws DAOException;

    public MeteorologicalReportGroupData find(Long id) throws DAOException;

    public void update(MeteorologicalReportGroupData groupData) throws DAOException;

    public void remove(Long id) throws DAOException;

    public List<MetarGroupData> findAllMetar(Long organizacaoId, Long aerodromoId, Date periodo) throws DAOException;

    public List<TafGroupData> findAllTaf(Long organizacaoId, Long aerodromoId, Date periodo) throws DAOException;

    public List<MetarGroupData> findAllMetar(List<Long> organizacoesIds, List<Long> aerodromosIds, List<Date> periodos) throws DAOException;

    public List<TafGroupData> findAllTaf(List<Long> organizacoesIds, List<Long> aerodromosIds, List<Date> periodos) throws DAOException;

}
